#ifndef COMMON_H
#define COMMON_H

#include <string>
#include <map>
#include <winsock.h>
#include "singleMember.h"
#include "singleGroup.h"
#include "asgka_common.h"

typedef std::map<std::string, singleMember *>::value_type stomvalType;
typedef std::map<std::string, asgka_element>::value_type stoevalType;
typedef std::map<std::string, singleGroup *>::value_type stogvalType;
typedef std::map<std::string, u_long>::value_type stouvalType;

extern const int IntLength;
extern const int UDPWait;
extern const int AgreementWait;
extern const int NewMemberWait;
extern const int ExitWait;
extern const int MemberListWait;
extern const int CommonWait;
extern const unsigned short TCPListenPort;
extern const unsigned short UDPRecvPort;
extern const std::string LogFileName;

void notifyWnd(unsigned int type, const std::string &info);
void notifyWnd(unsigned int type, const std::string &info1, const std::string &info2);
void newLog(const std::string &log);

#endif
